bitkeeper revision 1.1159.170.69 (41d2bdb6hidiL3KNy73HpTZ89WedqQ)
authorkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>
Wed, 29 Dec 2004 14:22:46 +0000 (14:22 +0000)
committerkaf24@scramble.cl.cam.ac.uk <kaf24@scramble.cl.cam.ac.uk>
Wed, 29 Dec 2004 14:22:46 +0000 (14:22 +0000)
Fix NMI handler.

xen/arch/x86/nmi.c
xen/arch/x86/x86_32/entry.S

index bd8760fadeae2f3020b95516f9884a477e15b5ce..ed597aec0cf35068cbdc0c0be40229e119e7d96f 100644 (file)
@@ -99,7 +99,7 @@ int __init check_nmi_watchdog (void)
     for ( j = 0; j < smp_num_cpus; j++ ) 
     {
         cpu = cpu_logical_map(j);
-        prev_nmi_count[cpu] = irq_stat[cpu].__nmi_count;
+        prev_nmi_count[cpu] = nmi_count(cpu);
     }
     __sti();
     mdelay((10*1000)/nmi_hz); /* wait 10 ticks */
index d3df231fbb91ea1f35463baba8b32b748749d806..7eb7c9075cdfec3eff9a428f03b7cfd286a918aa 100644 (file)
@@ -495,16 +495,10 @@ ENTRY(nmi)
         movb  XREGS_cs(%esp),%al
         testl $(3|X86_EFLAGS_VM),%eax
         jnz   do_watchdog_tick
-        movl  XREGS_ds(%esp),%eax
+        movl  %ds,%eax
         cmpw  $(__HYPERVISOR_DS),%ax
         jne   restore_all_xen
-        movl  XREGS_es(%esp),%eax
-        cmpw  $(__HYPERVISOR_DS),%ax
-        jne   restore_all_xen
-        movl  XREGS_fs(%esp),%eax
-        cmpw  $(__HYPERVISOR_DS),%ax
-        jne   restore_all_xen
-        movl  XREGS_gs(%esp),%eax
+        movl  %es,%eax
         cmpw  $(__HYPERVISOR_DS),%ax
         jne   restore_all_xen